
#pragma once

#include "base/core/singleton.h"
#include "Common/TableDefine.h"


class AttributeAttributeCfg : public ManualSingleton <AttributeAttributeCfg>
{
	friend ManualSingleton <AttributeAttributeCfg>;
public:
	AttributeAttributeCfg();
	~AttributeAttributeCfg();
	bool Init(const char *szCfgFile, const char *szSplitChar);
	bool UnInit();
	void Clear();
	const AttributeAttributeCfgInfo *GetAttributeAttributeCfgInfo(int32_t id);
	const AttributeAttributeCfgMap *GetAttributeAttributeCfgMap() { return &m_AttributeAttributeCfgMap; }
private:
	AttributeAttributeCfgMap m_AttributeAttributeCfgMap;
};

#define  g_MakeAttributeAttributeCfgTable() (AttributeAttributeCfg::Instance())
#define  g_GetAttributeAttributeCfgTable() (AttributeAttributeCfg::GetInstance())
#define  g_DelAttributeAttributeCfgTable() (AttributeAttributeCfg::Destroy())